const path = require('path')

console.log(__filename)

// 1. 获取路径中的基础名称
/**
 * 01 返回的就是接收路径当中的最后一部分
 * 02 第二个参数表示扩展名，如果说没有设置则返回完整的文件名称 带后缀
 * 03 第二个参数作为后缀时，如果没有当前路径被匹配到，那么就会忽略
 * 04 处理目录路径的时候，如果说，结尾处有路径分隔符，则也会被忽略掉
 */
console.log(path.basename(__filename))
console.log(path.basename(__filename, '.js'))
console.log(path.basename(__filename, '.css'))
console.log(path.basename('/abd/b/c'))
console.log(path.basename('/abd/b/c/'))

console.log(path.basename('================================'))

// 2 .获取路径目录名(路径)
/**
 * 01 返回路径最后一个部分的上一层目录所在路径
 */
console.log(path.dirname(__filename))
console.log(path.dirname('/abd/b/c'))
console.log(path.dirname('/abd/b/c/'))


console.log(path.basename('================================'))


// 3. 获取路径的扩展名
/**
 * 01 返回path路径中相应文件的后缀名
 * 02 如果path路径中存在多个点 它匹配的是最后一个点到结尾的内容
 */
console.log(path.extname(__filename))
console.log(path.extname('/abd/b/c/'))
console.log(path.extname('/abd/b/c/01.jpg.css'))

console.log(path.basename('================================'))


// 4. 解析路径
/**
 * 01 接收一个路径，返回一个对象
 * 02 root dir base ext name
 */
const obj = path.parse('/root/app/static/style.css')
console.log(obj)

console.log(path.basename('================================'))

// 5. 序列化路径
const obj1 = path.parse('/root/app/static/')
console.log(path.format(obj1))


// 6.判断当前路径是否为绝对路径
console.log(path.isAbsolute('/root'))


// 7. 拼接路径：join
console.log(path.join('/root', 'app', 'style.css'))
console.log(path.join(''))


// 8.绝对路径
/**
 * resolve（【from】,to）
 */
console.log(path.resolve())
